#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
/*
思路：
1. 设计函数原型，不需要返回值，参数N表示乘法口诀表总共有多少行
2. 设定两个循环，外层循环控制总共有多少行
			 内层循环控制每行有多少个表达式以及表达式中的内容
*/
//int main()
//{
//	for (int i = 1; i <= 9; ++i)
//	{
//		for (int j = 1; j <= i; ++j)
//		{
//			printf("%d*%d=%2d  ", j, i, j * i);
//		}
//		printf("\n");
//	}
//
//	return 0;
//}

//#include <stdio.h>
//
//
//int main()
//{
//    int n = 0;
//    int m = 0;
//    int arr1[1000] = { 0 };
//    int arr2[1000] = { 0 };
//    //输入
//    scanf("%d %d", &n, &m);
//    int i = 0;
//    for (i = 0; i < n; i++)
//    {
//        scanf("%d", &arr1[i]);
//    }
//    for (i = 0; i < m; i++)
//    {
//        scanf("%d", &arr2[i]);
//    }
//    //处理
//    int j = 0;
//    i = 0;
//    while (i < n && j < m)
//    {
//        if (arr1[i] < arr2[j])
//        {
//            printf("%d ", arr1[i]);
//            i++;
//        }
//        else
//        {
//            printf("%d ", arr2[j]);
//            j++;
//        }
//    }
//    if (i == n)
//    {
//        for (; j < m; j++)
//        {
//            printf("%d ", arr2[j]);
//        }
//    }
//    else
//    {
//        for (; i < n; i++)
//        {
//            printf("%d ", arr1[i]);
//        }
//    }
//    return 0;
//}

#include <stdio.h>

//int main()
//{
//    int n = 0;
//    int arr[50] = { 0 };
//    scanf("%d", &n);
//    int i = 0;
//    int flag1 = 0;
//    int flag2 = 0;
//    for (i = 0; i < n; i++)
//    {
//        scanf("%d", &arr[i]);
//        if (i > 0)
//        {
//            if (arr[i] > arr[i - 1])
//                flag1 = 1;
//            else if (arr[i] < arr[i - 1])
//                flag2 = 1;
//        }
//    }
//    //flag1 和 flag2 都为1是乱序的
//    if (flag1 + flag2 > 1)
//        printf("unsorted\n");
//    else
//        printf("sorted\n");
//    return 0;
//}

#include <stdio.h>
/*
int main()
{
	int n = 0;
	while(scanf("%d", &n) != EOF)
	{
		int i = 0;
		//行数控制
		for(i=0; i<n; i++)
		{
			//空格
			int j = 0;
			for(j=0; j<n-1-i; j++)
			{
				printf("  ");
			}
			//*
			for(j=0; j<=i; j++)
			{
				printf("* ");
			}
			printf("\n");
		}

	}
	return 0;
}


*/


int main()
{
	int n = 0;
	while (scanf("%d", &n) != EOF)
	{
		int i = 0;
		int j = 0;
		//行数
		for (i = 0; i < n; i++)
		{
			//一行
			for (j = 0; j < n; j++)
			{
				//行和列的和
				//这里可以把行数和列数标出来就能看明白
				if (i + j < n - 1)
				{
					printf("  ");
				}
				else
				{
					printf("* ");
				}
			}
			printf("\n");
		}
	}
	return 0;
}